A variety of content distribution systems have been developed in the past. One such content distribution systems is a “content delivery network or “CDN”. CDNs have been utilized by content providers on behalf of third parties. Specifically, CDNs have been used for storing, caching, or transmission of content such as web pages, streaming media and applications.
FIG. 1 is a schematic diagram illustrating a server (network) system 1 as the perspective view of the Pyramid comprising a Main server 2, a Root server 3, a Midgress server 4, an Edge server 5 and terminals 61 to 68.
The main server 2 is a controller and/or operator of this server system 1. It explicates that main server 2 will control the operation of the system from “Top to Bottom” by transmitting the instruction, content such as media content through server system 1. The Root server 3 is the top level server of a cache server. For example, the Root server 3 is installed in continental areas i.e. North America, South East Asia, and Europe etc., as Regional servers. The Routings of data (content) are performed based on a routing table and a DNS configuration on the network.
The Midgress server 4 is the middle level server of the cache server. For example, Midgress server 4 is installed in country areas i.e. USA, Japan, Taiwan, Thailand and etc., as Country servers. The Edge server 5 is the low level server of the cache server. Moreover, The Edge server 5 is the nearest server which user can receive and/or transmit the data (content) to the server system 1. For example, the Edge server 5 is installed in city areas, i.e. San Diego, Tokyo, Taipei, and Bangkok etc., as local servers. Terminals 61 to 68 comprise a desktop PC, a notebook PC, a mobile phone, a tablet, a smartphone and the like. Users or customers are able to communicate and/or receive and/or transmit data (content) with the server system 1 using these terminals. Terminals 61 to 68 are installed applications and are registered as system accounts and/or members of the server system 1.
The procedure of operation system can be explicated as following: First, the Main server 2 transmits an instruction or content to the Root server 3, then, the Root server 3 forwards the instruction or content to the Midgress server 4. Afterwards, the Midgress server 4 transmits the instruction or content to the Edge server 5, and at the end of process, the Edge server 5 transmits the content to the terminals 61 to 68. In other words, the Edge server 5 is the most appropriate server in terms of location, for example the nearest access server, to the terminals 61 to 68.
FIG. 2 is a schematic diagram illustrating a basic data flow in the server system 1 of FIG. 1. To show how the server system 1 operates according to the ideas of “Top to Bottom” through Multi-layer structure of a cache server. As shown in this figure, the Cache server 8 may include the Root server 3, the Midgress servers 41 to 42, and the Edge servers 51 to 54. In this way, “Data (Content) is transmitted to terminal users 1-8 via the Multi-layer structure of cache server 8”. For example, the Root server 3 receives data (content) from an storage origin 7, then, the Root server 3 forwards the received data (content) to the Midgress servers 41 to 42. Afterwards, the Midgress servers 41 to 42 transmit the forwarded data (content) to the Edge servers 51 to 54. At the end of this process, terminals 61 and 62 may receive data (Content) from the Edge server 51. Terminals 63 and 64 may receive data (Content) from the Edge server 52. Terminals 65 and 66 may receive data (Content) from the Edge server 53. And, terminals 67 and 68 may receive data (Content) from the Edge server 54. This could also explain that each of the terminals 61-68 may receive data (content) from their nearest edge server.
It should be noted that the definition of the term “request” used in the present specification is “a request to confirm whether there is any message in the Main server 2”. In a case where, there is a text message, the Main server 2 directly provides the text message to a terminal. On the other hand, if there is a request for content, the Main server 2 provides the terminal with a URL of the Storage origin 7 in which the content is stored. Thereby, the terminal accesses the Storage origin 7 thorough the CDN using the provided URL and gets the requested content stored therein.
FIG. 3 is a schematic diagram illustrating a prior art data flow diagram in the server system of FIG. 1, when a user requests data from the server system 1. In a case where the data is a text message, user No. 1 sends a request to the Main server 2 through the terminal 61. That is, user No. 1 confirms whether there is any message for the terminal 61 in the Main server 2. If there is any message, the Main server 2 will directly provide the message(s) to the terminal 61 based on the request (confirmation) of user No. 1. On the other hand, if the requested data is content(s) such as media content, the requested content which has been stored in the Storage origin 7 is provided to the terminal 61 via the cache server 8 when the Main server 2 receives the request from terminal 61. If the user No. 1 sends a request for content to the main server 2 through the terminal 61, the Main server 2 allows the Storage origin 7 to transmit the requested content to the terminal 61 via the Cache server (Multi-layers) 8. This may also be explained as follows: the Root server 3 receives the content from the Storage origin 7. Then, the Root server 3 forwards the content to the Midgress server 41. Afterwards, the Midgress server 41 transmits the content to the Edge server 51. At the end of process, the content is provided to the terminal 61 by the Edge server 51. During the process, cache of content is stored (cached) in each cache server, in which the content has been passed through.
When another user, i.e. No. 2, requests the same content thorough the terminal 62, the user No. 2 may receive the requested content from the Edge server No. 1 51. However, when another user, such as for example the user No. 8, requests the same content through the terminal 68, the route is longer, therefore the transmission takes longer time. For example, first, the terminal 68 accesses the Edge server 54 (No. 4). However, the edge server 54 (No. 4) fails to receive the content. Next, the edge server 54 (No. 4) will access the Midgress server 42 (No. 2).
In addition, when a user of any messenger service may access a group of cache servers for the first time to get a requested content, the user has to access the Storage origin 7 to receive the content. This is mainly due to the fact that the cache of content is not stored in the cache servers in the route of the user's request (continued to fail, that is, “cache miss”), and thus, it causes time delay to get the requested content.